package main

import (
	"context"
	"git.900sui.cn/kc/base/utils"
	"git.900sui.cn/kc/kcgin"
	"git.900sui.cn/kc/kcgin/logs"
	"git.900sui.cn/kc/rabbitmq"
	"git.900sui.cn/kc/rpcinterface/client/comtreeData"
	"git.900sui.cn/kc/rpcinterface/client/order"
	"git.900sui.cn/kc/rpcinterface/client/risk"
	"github.com/streadway/amqp"
)
//订单支付成功，统计（支付订单数，售卡金额,单项目金额，商品金额，总营业金额）
func main() {
	rpcOrder := new(order.DayStatistics).Init()

	rpcbbaa := new(risk.BusBasicAccumulative).Init()
	defer rpcbbaa.Close()

	rpcComtreeData := new(comtreeData.Consumption).Init()
	defer rpcComtreeData.Close()

	logs.Info("Environment Variable:MSF_ENV:", kcgin.KcConfig.RunMode)
	new(utils.KcLog).GetInstance(kcgin.AppConfig.String("order.log.statisticsOrderPaySuc"))

	err := rabbitmq.Rabbitmq.Consume(kcgin.AppConfig.String("order.queue.statisticsOrderPaySuc"), func(msg amqp.Delivery) {
		orderSn := string(msg.Body)
		reply := false
		err := rpcOrder.StatisticsOrderPaySuc(context.Background(), &orderSn, &reply)
		if err != nil {
			utils.Logerr.Printf("订单支付成，商家门店(支付订单数，售卡金额,单项目金额，商品金额，总营业金额)数据统计任务执行失败，orderSn:%s, err:%s", orderSn, err)
		}
		logs.Info("订单支付成，商家门店(支付订单数，售卡金额,单项目金额，商品金额，总营业金额)数据统计任务执行成功，orderSn:%s",orderSn)

		// 添加 预付卡风险管理系统会员复购率
		if err = rpcbbaa.PurchaseRate(context.Background(),&orderSn,&reply);err != nil {
			logs.Error("添加 预付卡风险管理系统会员复购率 失败：orderSn:%s\n", orderSn, err.Error())
		}
		// 添加 预付卡交易 信息
		if err = rpcComtreeData.AddTransactionsRpc(context.Background(),&orderSn,&reply);err != nil {
			logs.Error("添加 预付卡交易 信息 失败：orderSn:%s\n", orderSn, err.Error())
		}

	})

	if err != nil {
		utils.Logerr.Printf("支付成功后的商家门店(支付订单数，售卡金额,单项目金额，商品金额，总营业金额)数据统计任务执行错误, err: %s", err.Error())
	}
}
